﻿<%@ Page Language="C#" Title="大中修推荐方案页面" MasterPageFile="~/W_View/PageMaster.Master" CodeBehind="RecommendationPage.aspx.cs" Inherits="STHPMS1.Web.W_View.Decision.Repair.PrimaryProgramPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <%= UiHelper.RefJsFileHtml("/Scripts/Control/datagrid.js")%>
    <%= UiHelper.RefJsFileHtml("/Scripts/Control/dropdown.js")%>
    <%= UiHelper.RefJsFileHtml("/Scripts/Control/enum.js")%>
    <%= UiHelper.RefJsFileHtml("/Scripts/Jquery/jcanvas.min.js")%>
    <%= UiHelper.RefJsFileHtml("/Scripts/Highcharts/highcharts.js")%> 

     <style type="text/css">
	    table.thin {border-collapse: collapse}
	    td.thin {border: 1px solid #666; text-align:center; }
        th.thin {border: 1px solid #666; text-align:center; }
	</style>

    <script type="text/javascript">
        var regionArray;//回归年数据
        var dataArray;//养护计划数据
        var dataSel;//当前选中的数据
        var year;//回归第几年
        var analyYear;//分析年份
        var _scrollLeft;
        var _scrollTop;

        function clearData()
        {
            regionArray = [];
            dataArray = [];
            dataSel = null;
            year = null;
            analyYear = null;
            _scrollLeft = 0;
            _scrollTop = 0;
        }

        function setData(rect) {
            var proj_Id = $('#dg').datagrid('getSelected').Proj_Id;
            var returnvalue;
            $.ajax({
                type: 'get',
                async: false,
                url: "/api/recommend/c_get?proj_Id=" + proj_Id,
                dataType: "json",
                data: data,
                success: function (msg) {
                    returnvalue = msg;
                },
                error: printError
            });

            if (!returnvalue) return false;

            for (var i = 0; i < returnvalue.plans.length; i++) {
                var data = {};
                data.Meas_Name = returnvalue.plans[i].Meas_Name;
                data.Iniproj_Id = returnvalue.plans[i].Iniproj_Id;
                if (rect == 0)
                {
                    data.ret = returnvalue.plans[i].ret;
                    if (returnvalue.plans[i].Analy_Period != null && returnvalue.plans[i].Analy_Period > 0)
                        analyYear = returnvalue.plans[i].Analy_Period;
                   
                    $('#Analy_Period').combobox("setValue", analyYear);
                    if (returnvalue.Discou_Rate)
                        $('#Discou_Rate').numberbox("setValue", returnvalue.Discou_Rate);
                    if (returnvalue.Residu_Value)
                        $('#Residu_Value').numberbox("setValue", returnvalue.Residu_Value);
                }
                data.Analy_Period = analyYear;
                dataArray.push(data);
            }

            return true;
        }

        function ShowPlan(rect) {
            var row = $('#dg').datagrid('getSelected');
            if (!row) {
                $.messager.alert('消息提示', '编辑数据时，请选择一项!', 'warning');
                return;
            }

            var canva = $('#canvPlan');
            canva.clearCanvas();
            clearData();

            analyYear = parseInt($('#Analy_Period').combobox('getValue'));
            if (!setData(rect)) return;
            
            var width = analyYear * 40 + 50; 
            if (width < 650) width = 650;
            var height = 150;

            canva[0].width = width;
            canva[0].height = dataArray.length * height + 50;

            var h = 0;
            dataArray.forEach(function (d) {
                d.bound = {
                    left: 0,
                    top: h,
                    width: width - 20,
                    height: height
                };
                drawPlan(canva, d);
                h += d.bound.height;
            });

            if (rect==0)
                $('#dlgPlan').dialog('open');
        }

        function drawPlan(canva, data) {
            var rect = data.bound;
            canva.drawText({
                fillStyle: 'black',
                x: rect.left + 10,
                y: rect.top + 30,
                fontSize: 16,
                fontFamily: 'Arial',
                text: data.Meas_Name,
                fromCenter: false
            });

            canva.drawRect({
                fillStyle: 'blue',
                x: rect.width - 80,
                y: rect.top + 20,
                width: 30,
                height: 5
            });

            canva.drawText({
                fillStyle: 'black',
                x: rect.width - 25,
                y: rect.top + 20,
                fontSize: 12,
                fontFamily: 'Arial',
                text: '预防性养护'
            });


            canva.drawRect({
                fillStyle: 'orange',
                x: rect.width - 80,
                y: rect.top + 40,
                width: 30,
                height: 5
            });

            canva.drawText({
                fillStyle: 'black',
                x: rect.width - 45,
                y: rect.top + 40,
                fontSize: 12,
                fontFamily: 'Arial',
                text: '中修'
            });

            canva.drawRect({
                fillStyle: 'green',
                x: rect.width - 80,
                y: rect.top + 60,
                width: 30,
                height: 5
            });

            canva.drawText({
                fillStyle: 'black',
                x: rect.width - 45,
                y: rect.top + 60,
                fontSize: 12,
                fontFamily: 'Arial',
                text: '大修'
            });


            canva.drawLine({
                strokeStyle: '#000',
                strokeWidth: 5,
                rounded: true,
                startArrow: false,
                endArrow: true,
                arrowRadius: 15,
                arrowAngle: 90,
                x1: 0, y1: rect.top + rect.height - 10,
                x2: rect.width, y2: rect.top + rect.height - 10
            });

            if (data.ret) {
                for (var i = 0; i < data.ret.length; i++) {
                    drawPlanYear(canva, data, data.ret[i]);
                }
            }
        }

        function drawPlanYear(canva, data, ret) {
            var rect = data.bound;

            var interval = rect.width / (data.Analy_Period + 1);
            var intervalWidth = 8;
            var intervalHeight = 60;

            var xVal = interval * ret.year - intervalWidth / 2;
            var yVal = rect.top + rect.height - 74;
            var color;
            if (ret.type == MainTypeEnum.Prevent.id) {
                color = 'blue';
            }
            else if (ret.type == MainTypeEnum.Middle.id) {
                color = 'orange';
            }
            else if (ret.type == MainTypeEnum.Overhaul.id) {
                color = 'green';
            }

            canva.drawRect({
                fillStyle: color,
                x: xVal,
                y: yVal,
                width: intervalWidth,
                height: intervalHeight,
                fromCenter: false
            });

            canva.drawText({
                fillStyle: 'black',
                x: xVal -8,
                y: rect.top + rect.height,
                fontSize: 10,
                fontFamily: 'Arial',
                text: '第' + ret.year + '年',
                fromCenter: false
            });


            ret.colRegion = {
                left: xVal,
                top: yVal,
                right: xVal + intervalWidth,
                bottom: yVal + intervalHeight,               
                width: intervalWidth,
                height: intervalHeight
            };

            ret.labelRegion = {
                left: xVal -8,
                top: rect.top + rect.height,
                width: 35,
                height: 14
            };

            regionArray.push(ret.colRegion);


            if (!data.ret) {
                data.ret = [];
            }
            var exist = false;
            data.ret.forEach(function (r) {
                if (r.year == ret.year) {
                    exist = true;
                    return false;
                }
            });
            if (exist) return;

            data.ret.push(ret);
        }


        function getPointOnCanvas(canvas, x, y) {

            var bbox = canvas.getBoundingClientRect();

            return {
                x: x - bbox.left * (canvas.width / bbox.width),
                y: y - bbox.top * (canvas.height / bbox.height)
            };
        }

        function canvasMouseClick(e) {
            if (!regionArray) return;
            var canvas = $('#canvPlan');
            var postion = getPointOnCanvas(canvas[0], e.pageX, e.pageY);
            var flag = true;
            regionArray.forEach(function (rect) {
                if (postion.x >= rect.left && postion.x <= rect.right &&
                    postion.y >= rect.top && postion.y <= rect.bottom) {
                    flag = false;
                }
                return flag;
            });

            dataArray.forEach(function (d) {
                if (postion.x >= d.bound.left && postion.x <= (d.bound.left + d.bound.width) &&
                    postion.y > d.bound.top && postion.y <= d.bound.top + d.bound.height) {
                    dataSel = d;
                    return false;
                }
            });

            if (flag) {
                $('#mnuNew').menu('show', {
                    left: e.pageX,
                    top: e.pageY
                });
            }
            else {
                $('#mnuDel').menu('show', {
                    left: e.pageX,
                    top: e.pageY
                });
            }
        }

        function canvasMouseMove(e) {
            var x = e.pageX;
            var y = e.pageY;

            var canvas = $('#canvPlan');
            var postion = getPointOnCanvas(canvas[0], e.pageX, e.pageY);

            var xy = "";
            var retYear = null;

            dataArray.forEach(function (d) {
                if (postion.x >= d.bound.left && postion.x <= (d.bound.left + d.bound.width) &&
                   postion.y >= d.bound.top && postion.y <= (d.bound.top + d.bound.height)) {
                    var inter = d.bound.width / (d.Analy_Period + 1);
                    retYear = Math.round(postion.x / inter);


                    if (retYear < 1) {
                        retYear = 1;
                    }

                    if (retYear > analyYear) {
                        retYear = analyYear;
                    }

                    xy += d.Meas_Name + " 回归年:" + retYear;
                    return false;
                }
            });

            if (retYear == null) return;

            
            //var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
            //var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop); 

            document.getElementById("mousePosition").style.left = postion.x  -_scrollLeft+ "px";
            document.getElementById("mousePosition").style.top = postion.y  -_scrollTop+ "px";
            $("#mousePosition").html(xy);
            year = retYear;
        }

        function menuNewHandler(item) {
            if (dataSel && year) {
                var canvas = $('#canvPlan');
                var ret = { "year": year, "type": MainTypeEnum[item.name].id };
                drawPlanYear(canvas, dataSel, ret)
            }
        }

        function menuRemoveHandler(item) {
            if (dataSel != null && year != null) {
                var canvas = $('#canvPlan');
                var index = -1;
                var region;
                var labelregion;
                for (i = 0; i < dataSel.ret.length; i++) {
                    if (dataSel.ret[i].year == year) {
                        index = i;
                        region = dataSel.ret[i].colRegion;
                        labelregion = dataSel.ret[i].labelRegion;
                        break;
                    }
                }

                if (index < 0) return;

                var context = canvas[0].getContext('2d');
                context.clearRect(region.left - 1, region.top, region.width+2, region.height);
                context.clearRect(labelregion.left , labelregion.top, labelregion.width+2, labelregion.height);

                dataSel.ret.splice(index, 1);
                regionArray.splice(jQuery.inArray(region, regionArray), 1);
                dataSel = null;
                year = null;
            }
        }

        function canvasMouseleave() {
            $('#mousePosition').hide();
        }

        function canvasMouseEnter() {
            $('#mousePosition').show();
        }

        function savePlanCost() {
            if (dataArray == null) {
                $.messager.alert('消息提示', '没有比选方案数据!', 'warning');
                return;
            }

            var row = $('#dg').datagrid('getSelected');
            if (!row) {
                $.messager.alert('消息提示', '编辑数据时，请选择一项!', 'warning');
                return;
            }

            var data = {};
            data.plans = dataArray;
            data.Proj_Id = row.Proj_Id;
            data.Mainsegid = row.Mainsegid;
            data.Discou_Rate = $('#Discou_Rate').numberbox("getValue");
            data.Residu_Value = $('#Residu_Value').numberbox("getValue");

            $.ajax({
                type: 'post',
                async: false,
                url: "/api/recommend/c_save",
                dataType: "json",
                data: data,
                success: function (responseText) {
                    if (responseText != undefined) {
                        if (responseText.length >= 1) {
                            $.messager.alert('错误提示', responseText, "error");
                        }
                        else {
                            $('#dg').data().datagrid.selectRowIndex = null;
                            $('#dg').datagrid('reload');
                            $('#dlgPlan').dialog('close');
                            clearData();
                        }
                    }
                    else {
                        $('#dg').data().datagrid.selectRowIndex = null;
                        $('#dg').datagrid('reload');
                        $('#dlgPlan').dialog('close');
                        clearData();
                    }           
                },
                error: printError
            });
        }

        function ShowProgram() {
            if(showInicost())
                $('#dlg').dialog('open');
        }

        function GenRecommend() {
            var row = $('#dg').datagrid('getSelected');
            if (!row) {
                $.messager.alert('消息提示', '生成推荐方案，请选择一项!', 'warning');
                return;
            }

            $.ajax({
                type: 'post',
                async: false,
                url: "/api/recommend/c_cala?proj_Id=" + row.Proj_Id,
                success: function (responseText) {
                    if (responseText != undefined) {
                        if (responseText.length >= 1) {
                            $.messager.alert('错误提示', responseText, "error");
                        }
                        else {
                            $('#dg').data().datagrid.selectRowIndex = null;
                            $('#dg').datagrid('reload');
                        }
                    }
                    else {
                        $('#dg').data().datagrid.selectRowIndex = null;
                        $('#dg').datagrid('reload');
                    }
                },
                error: printError
            });
        }

        var _first;
        function tabSwitch(title,index)
        {
            if(_first)
            {
                if (index == 0)
                {
                    showInicost();
                }else  if (index == 1)
                {
                    showMaincost();
                }
                else if (index == 2) {
                    showCyclecost();
                }
            }
            _first = true;
        }

        var options;
        var chart;
        function showCyclecost()
        {
            var row = $('#dg').datagrid('getSelected');
            if (!row) {
                $.messager.alert('消息提示', '请选择一个比选方案!', 'warning');
                return false;
            }
            if (!row.Recom_Meaid)
            {
                $.messager.alert('消息提示', '只能查看已生成推荐方案的比选方案!', 'warning');
                return false;
            }

            $.ajax({
                type: 'get',
                async: false,
                url: "/api/recommend/l_get?proj_Id=" + row.Proj_Id,
                success: function (series) {
                    if (series)
                    {
                        options.series = series;
                        chart = new Highcharts.Chart(options);
                    }
                },
                error: printError
            });
            
        }

        function showMaincost()
        {
            var row = $('#dg').datagrid('getSelected');
            if (!row) {
                $.messager.alert('消息提示', '请选择一个比选方案!', 'warning');
                return;
            }

            $('#tb_maincost').datagrid({
                url: '/api/recommend/r_get?proj_Id=' + row.Proj_Id,
                method: 'get',
                width: 'auto',
                height: 'auto',
                nowrap: false,
                striped: true, //条纹
                border: true,
                collapsible: false,//是否可折叠的 
                fit: false,//自动大小 
                singleSelect: true,//是否单选 
                rownumbers: true,//行号 
                loader: myLoader,
                onClickRow: onClickRow
            });
        }


        function showInicost()
        {
            var row = $('#dg').datagrid('getSelected');
            if (!row) {
                $.messager.alert('消息提示', '请选择一个比选方案!', 'warning');
                return false;
            }
            if (!row.Recom_Meaid)
            {
                $.messager.alert('消息提示', '只能查看已生成推荐方案的比选方案!', 'warning');
                return false;
            }

            $.ajax({
                type: 'get',
                async: false,
                url: "/api/recommend/b_get?proj_Id=" + row.Proj_Id + "&mainsegid=" + row.Mainsegid,
                success: function (data) {
                    if (data && data.planList)
                    {
                        $("#tb_inicost tr:not(:first)").remove();

                        for (var i = 0; i < data.planList.length; i++) {
                            var plan = data.planList[i];

                            for (var j = 0; j < plan.mateList.length; j++) {
                                var mate = plan.mateList[j];
                                var myRow = null;
                                if (j == 0)
                                {
                                    myRow = String.format("<tr><td class='thin' rowspan='{0}'>{1}</td><td class='thin'>{2}</td><td class='thin'>{3}</td><td class='thin'>{4}</td><td class='thin'>{5}</td><td class='thin'>{6}</td></tr>", plan.mateList.length, plan.Meas_Name, mate.Stru_Name, formatNumber(mate.Mater_thick), formatNumber(mate.Stru_Price), formatNumber(mate.Amount), formatNumber(mate.Inicons_cost));
                                } else {
                                    myRow = String.format("<tr><td class='thin'>{0}</td><td class='thin'>{1}</td><td class='thin'>{2}</td><td class='thin'>{3}</td><td class='thin'>{4}</td> </tr>", mate.Stru_Name, formatNumber(mate.Mater_thick), formatNumber(mate.Stru_Price), formatNumber(mate.Amount), formatNumber(mate.Inicons_cost));
                                }
                                $("#tb_inicost").append(myRow);
                            }
                            var myRow = myRow = String.format("<tr><td class='thin' colspan='5'>合计</td><td class='thin'><strong>{0}</strong></td></tr>", formatNumber(plan.Inicons_cost));
                            $("#tb_inicost").append(myRow);
                        }
                    }
                },
                error: printError
            });
            return true;
        }

        function ListRecommendDel() {
            var row = $('#dg').datagrid('getSelected');
            if (!row) {
                $.messager.alert('消息提示', '删除数据时，请选择一项!', 'warning');
                return;
            }

            deleteData($('#dg'), null, "/api/recommend");
        }

        $(function () {
            var number = '<%= Page.RouteData.Values["page"] %>';
            var size = '<%= Page.RouteData.Values["size"] %>';

            //loadAdmDiv();
            dataGridBind($('#dg'), '/api/recommend', '大中修比选方案', $('#tb'), number, size);

            $('.validatebox-text').bind('blur', function () {
                $(this).validatebox('enableValidation').validatebox('validate');
            });

            var years = [];
            for (var i = 1; i <= 50; i++) {
                years.push({"id":i,"text":i.toString()});
            }

            $('#Analy_Period').combobox('loadData', years).combobox('clear');            

            $('#canvPlan').click(canvasMouseClick);
            $('#canvPlan').mousemove(canvasMouseMove);
            $('#canvPlan').mouseleave(canvasMouseleave);
            $('#canvPlan').mouseenter(canvasMouseEnter);

            $('#dlgPlan').scroll(function () {
                _scrollLeft=this.scrollLeft;
                _scrollTop=this.scrollTop;
            });

            options = {
                colors: ['#4F81BD', '#C0504D', '#9BBB59', '#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'],
                chart: {
                    renderTo: 'cyclecost',
                    type: 'column'
                },
                title: {
                    text: ''
                },
                xAxis: {
                    categories: [
                        '初期建设费',
                        '养护维修费',
                        '全寿命周期费用'
                    ]
                },
                yAxis: {
                    min: 0,
                    title: {
                        text: ''
                    }
                },
                exporting: {
                    enabled: false
                },
                credits: {
                    enabled: false   //右下角不显示LOGO
                },
                legend: {
                    layout: 'vertical',
                    align: 'right',
                    verticalAlign: 'middle'
                },
                tooltip: {
                    headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
                    pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                        '<td style="padding:0"><b>{point.y:.1f}</b></td></tr>',
                    footerFormat: '</table>',
                    shared: true,
                    useHTML: true
                },
                plotOptions: {
                    column: {
                        pointPadding: 0,
                        borderWidth: 0
                    }
                }
            };
        })
    </script>    

</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <table id="dg" class="easyui-datagrid content-place"  ajaxCached="false"  >
        <thead>
            <tr>
                <th data-options="field:'Proj_Id',editor:'text',width:80,align:'right',hidden:true ">方案ID</th>
                <th data-options="field:'Schme_Name',editor:'text',width:200,align:'right' ">方案名称</th>
                <th data-options="field:'Mainsegid',editor:'text',width:160,align:'right' ">养护路段</th>
                <th data-options="field:'Design_Time',editor:'datebox',width:120,align:'right' " formatter="formatDate" >设计时间</th>
                <th data-options="field:'Analy_Period',editor:'numberbox',width:80,align:'right' ">分析期</th>
                <th data-options="field:'Discou_Rate',editor:'numberbox',width:80,align:'right' ">折现率</th>
                <th data-options="field:'Residu_Value',editor:'numberbox',width:80,align:'right' ">路面残值</th>
                <th data-options="field:'Recom_Meaid',editor:'text',width:160,align:'right' ">推荐的初选方案ID</th>
            </tr>
        </thead>
    </table>
   
    <div id="tb">
        <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-redo',plain:true" onclick="ShowPlan(0)">制定养护计划</a>  
        <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-reload',plain:true" onclick="GenRecommend()">生成推荐方案</a>  
        <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true" onclick="ShowProgram()">查看方案</a>
        <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true" onclick="ListRecommendDel()">删除方案</a> 
    </div>

     <div id="dlgPlan-toolbars" style="padding:2px 0">        
        <select class="easyui-combobox" name="Analy_Period" id="Analy_Period" style="width:80px;" data-options=" prompt:'分析期',valueField:'id',textField:'text',onSelect:function(rect){ ShowPlan(1); } " ></select>
        <input name='Discou_Rate' id="Discou_Rate"  class='easyui-validatebox easyui-numberbox' data-options="prompt:'折现率',required:true,min:0,max:1,precision:2,value:0.08 " />
        <input name='Residu_Value' id="Residu_Value"  class='easyui-validatebox easyui-numberbox' data-options="prompt:'路面残值',required:true,min:0,max:1,precision:2,value:0.2" />
     </div>
    <div id="dlgPlan-buttons">
		<a href="javascript:void(0)" class="easyui-linkbutton" onclick="savePlanCost();">保存</a>
		<a href="javascript:void(0)" class="easyui-linkbutton" onclick="javascript:$('#dlgPlan').dialog('close')">关闭</a>
	</div>

    <div id="dlg-buttons">
		<a href="javascript:void(0)" class="easyui-linkbutton" onclick="javascript:$('#dlg').dialog('close')">确定</a>
	</div>

    <div id="mnuNew" class="easyui-menu" data-options="onClick:menuNewHandler" style="width:160px;">
        <div data-options="name:'Prevent'">新建预防性养护措施</div>
        <div data-options="name:'Middle'">新建中修养护措施</div>
        <div data-options="name:'Overhaul'">新建大修养护措施</div>
    </div>

    <div id="mnuDel" class="easyui-menu" data-options="onClick:menuRemoveHandler" style="width:160px;">
        <div data-options="name:'del'">删除养护措施</div>
    </div>


    <div id="dlgPlan" class="easyui-dialog" title="养护计划" style="width:720px;height:500px;padding:10px" closed="true"  data-options="
        iconCls: 'icon-save',
		toolbar: '#dlgPlan-toolbars',
		buttons: '#dlgPlan-buttons'">
       <canvas id="canvPlan" width="650" height="400" ></canvas>
       <div id="mousePosition" style="position:absolute;"></div>  
    </div>

    <div id="dlg" class="easyui-dialog" title="推荐方案查看" style="width:750px;height:650px;padding:10px" closed="true"  data-options="
		buttons: '#dlg-buttons'">

       	<div id="easyuitabs" class="easyui-tabs" data-options="tabWidth:150,onSelect:tabSwitch" style="width:700px;height:500px">

		    <div id="inicost" title="初期建设费用" style="padding:10px">
                <table id="tb_inicost" class="thin">
                    <thead>
                        <tr>
                            <th class='thin' >比选方案</th>
                            <th class='thin'>结构层</th> 
                            <th class='thin'>厚度（cm）</th> 
                            <th class='thin'>单价(元.m<sup>2</sup>)</th>
                            <th class='thin'>工程量(m<sup>2</sup>.km<sup>-1</sup>)</th>
                            <th class='thin'>初期建设费用（万元）</th>
                        </tr>
                    </thead>
                </table>
		    </div>

		    <div id="maincost" title="养护维修费用" style="padding:10px">
                <table id="tb_maincost" class="easyui-datagrid content-place" ajaxCached="false"  data-options="onLoadSuccess:function(data){ MergeCells('tb_maincost','Meas_Name,Schecost');}">
                    <thead>
                        <tr>
                            <th data-options="field:'Meas_Name',editor:'text',width:150,align:'right' "><span style="font-weight:bold">比选方案</span></th>
                            <th data-options="field:'Main_YearLabel',editor:'text',width:60,align:'right' "><span style="font-weight:bold">养护年份</span></th>
                            <th data-options="field:'Maintype_Label',editor:'text',width:80,align:'right' "><span style="font-weight:bold">养护类型</span></th>
                            <th data-options="field:'Schem_Uncost',editor:'numberbox',width:100,align:'right' " formatter="formatNumber"><span style="font-weight:bold">单价(元.m<sup>2</sup>)</span></th>
                            <th data-options="field:'Amount',editor:'numberbox',width:100,align:'right' " formatter="formatNumber"><span style="font-weight:bold">工程量(m<sup>2</sup>.km<sup>-1</sup>)</span></th>
                            <th data-options="field:'Annu_Maincost',editor:'numberbox',width:125,align:'right' " formatter="formatNumber"><span style="font-weight:bold">当年维修费用（万元）</span></th>
                            <th data-options="field:'Schecost',editor:'numberbox',width:125,align:'right' " formatter="formatBold"><span style="font-weight:bold">方案维修费用（万元）</span></th>
                        </tr>
                    </thead>
                </table>
		    </div>

		    <div id="cyclecost" title="分析期寿命周期费用" style="padding:10px;">
		    </div>

	    </div>

    </div>
    
</asp:Content>
